home *** CD-ROM | disk | FTP | other *** search
/ Windows Game Programming for Dummies (2nd Edition) / WinGamProgFD.iso / mac / DirectX SDK / DXSDK / include / vptype.h < prev    next >
C/C++ Source or Header  |  2001-10-08  |  3KB  |  79 lines

  1. //------------------------------------------------------------------------------
  2. // File: VPType.h
  3. //
  4. // Desc: This file includes all the data structures defined for the IVPConfig
  5. //       interface.
  6. //
  7. // Copyright (c) 1997-2001, Microsoft Corporation.  All rights reserved.
  8. //------------------------------------------------------------------------------
  9.  
  10.  
  11. #ifndef __IVPType__
  12. #define __IVPType__
  13.  
  14. #ifdef __cplusplus
  15. extern "C" {
  16. #endif
  17.  
  18.     // enum to specify the criterion, which the vpmixer is supposed to use
  19.     // in order to select the video format
  20.     typedef enum _AMVP_SELECT_FORMAT_BY
  21.     {
  22.         AMVP_DO_NOT_CARE,
  23.         AMVP_BEST_BANDWIDTH,
  24.         AMVP_INPUT_SAME_AS_OUTPUT
  25.     } AMVP_SELECT_FORMAT_BY;
  26.  
  27.     // enum to specify the various mode
  28.     typedef enum _AMVP_MODE
  29.     {   
  30.         AMVP_MODE_WEAVE,
  31.         AMVP_MODE_BOBINTERLEAVED,
  32.         AMVP_MODE_BOBNONINTERLEAVED,
  33.         AMVP_MODE_SKIPEVEN,
  34.         AMVP_MODE_SKIPODD
  35.     } AMVP_MODE;
  36.  
  37.     // struct to specify the width and height. The context could be anything
  38.     // such as scaling cropping etc.
  39.     typedef struct _AMVPSIZE
  40.     {
  41.         DWORD           dwWidth;                // the width
  42.         DWORD           dwHeight;               // the height
  43.     } AMVPSIZE, *LPAMVPSIZE;
  44.  
  45.     // struct to specify the dimensional characteristics of the input stream
  46.     typedef struct _AMVPDIMINFO
  47.     {
  48.         DWORD           dwFieldWidth;           // Field height of the data
  49.         DWORD           dwFieldHeight;          // Field width of the data
  50.         DWORD           dwVBIWidth;             // Width of the VBI data
  51.         DWORD           dwVBIHeight;            // Height of the VBI data
  52.         RECT            rcValidRegion;          // The vaild rectangle, used for cropping
  53.     } AMVPDIMINFO, *LPAMVPDIMINFO;
  54.  
  55.     // struct to specify the various data specific characteristics of the input stream
  56.     typedef struct _AMVPDATAINFO
  57.     {
  58.         DWORD           dwSize;                 // Size of the struct
  59.         DWORD           dwMicrosecondsPerField; // Time taken by each field
  60.         AMVPDIMINFO     amvpDimInfo;            // Dimensional Information 
  61.         DWORD           dwPictAspectRatioX;     // X dimension of Picture Aspect Ratio
  62.         DWORD           dwPictAspectRatioY;     // Y dimension of Picture Aspect Ratio
  63.         BOOL            bEnableDoubleClock;     // Videoport should enable double clocking
  64.         BOOL            bEnableVACT;            // Videoport should use an external VACT signal
  65.         BOOL            bDataIsInterlaced;      // Indicates that the signal is interlaced
  66.         LONG            lHalfLinesOdd;          // number of halflines in the odd field
  67.         BOOL            bFieldPolarityInverted; // Device inverts the polarity by default
  68.         DWORD           dwNumLinesInVREF;       // Number of lines of data in VREF 
  69.         LONG            lHalfLinesEven;         // number of halflines in the even field
  70.         DWORD           dwReserved1;            // Reserved for future use
  71.     } AMVPDATAINFO, *LPAMVPDATAINFO; 
  72.  
  73.  
  74. #ifdef __cplusplus
  75. }
  76. #endif
  77.  
  78. #endif // __IVPType__
  79.